草庐IT

mysql - 每当我运行 rake db :migrate 时,Rails Schema 都会无意中更改

全部标签

ruby - 不使用 Rails 将 Ruby 连接到 Mysql

如何在没有Rails的情况下将Ruby连接到Mysql?我想使用Rubystandalone编写纯ruby​​代码来制作Web应用程序。没有抽象 最佳答案 看这里require"mysql"#ifneeded@db_host="localhost"@db_user="root"@db_pass="root"@db_name="your_db_name"client=Mysql::Client.new(:host=>@db_host,:username=>@db_user,:password=>@db_pass,:database=>

ruby - 临时更改 Rake 中的当前目录

我想在另一个目录中运行多个命令(或更容易),然后在它们完成后返回到之前的工作目录。我设想类似于Fabric'swithcd(path):的东西,例如:cd('.git')doFile.unlink('config')end在Rake中是否有这样做的内置方法,或者我应该编写一个接受block的自定义方法等? 最佳答案 它只是内置的Dir#chdir调用:Dir.chdir('.git')doFile.unlink('config')end摘自docs:Ifablockisgiven,itispassedthenameofthenewc

ruby - 在端口 80 上运行 Sinatra

我安装了Sinatra,它可以正常工作,但它默认使用端口4567。我希望它在端口80上运行。为了让它在80端口上工作,我尝试了这个:require'rubygems'require'rack/handler/webrick'require'sinatra'Sinatra::Application.default_options.merge!(:run=>false,:env=>:production,:port=>80)get'/'do"HelloWorld"end但是我得到这个错误:$ruby-rubygemsindex.rbindex.rb:5:in`':undefinedmeth

ruby-on-rails - 如何使用其他方法扩展 ActiveRecord::Migration?

我正在创建一个Rubygem,并希望使用我自己的助手来扩展ActiveRecord::Migration以创建必要的列。(这类似于Devise在为其各种身份验证策略创建迁移时所做的事情。)我意识到我添加的功能本身非常微不足道,并且可能有更好/更有效的方法来做到这一点-我正在尝试将其作为学习经验而不是实际应用的东西。我只是想了解如何做一些像在Rails中添加新的迁移功能这样具有侵入性的事情。到目前为止,我已经成功构建到gem中并安装了,但是当我尝试运行如下迁移时:classCreatePosts...它没有说hideable没有定义。我研究了Devise完成此操作的方式,我不得不承认我有

ruby-on-rails - 在 Heroku 上运行 Phantomjs

关闭。这个问题是off-topic.它目前不接受答案。想改进这个问题吗?Updatethequestion所以它是on-topic用于堆栈溢出。关闭10年前。Improvethisquestion有没有办法运行phantomjs,一个命令行工具,在Heroku上?

c - 如何在 Mac OS X 上使用 ulimit 或每个进程为 C 或 Ruby 程序更改堆栈大小?

似乎为C程序或Ruby程序(使用C堆栈)设置堆栈大小的推荐方法是使用ulimit。在Bash外壳中。但是$ulimit-s8192$ulimit-s16384-bash:ulimit:stacksize:cannotmodifylimit:Operationnotpermitted和sudo也没有帮助。有没有办法将其设置为16MB、32MB或64MB?我认为应该有一种方法可以在每次程序调用时设置它,而不是同时设置系统范围的参数?现在8192可能意味着8MB,如果与一个进程可以使用的内存量相比,这是非常小的,有时最多2GB的RAM。(更新注释:ulimit-a可以显示其当前值)。(更新2

ruby - 使用 Ruby 和 Minitest,如何运行具有不同数据的相同测试用例,仅由列表控制

我有对电话号码进行操作的Ruby2.0代码,我想使用MiniTest对其进行测试。我有一个函数,它接受一个电话号码参数并对其进行测试(包括断言)。每次调用该函数时,我都希望它成为一个新的测试用例。像这样:listOfPhoneNumbersForTesting.each{|phone|testphonephone}我不想要的是:classtest2125551212...重复10、20或100次以测试每个电话号码...显然,我可以将循环代码放在MiniTest::Unit::TestCase中,但无论我测试多少个电话号码,这都会导致只有一个测试用例,我不喜欢这样。(此外,如果其中一个断

ruby - 你如何在 Sinatra 中运行测试?

我不知道如何测试我的Sinatra应用程序。我只是跑吗ruby这似乎行不通。那里的所有文件只讨论如何写入文件的内容,而不是如何让它运行。谢谢 最佳答案 应该足够简单。给定my_app.rb:require'rubygems'require'sinatra'get'/hi'do"HelloWorld!"end还有my_app_test.rb:require'my_app'require'test/unit'require'rack/test'set:environment,:testclassMyAppTest您应该确保安装了正确的g

ruby-on-rails - Rails 更改 form_for 中提交的路由

我有一个模型“文章”和一个嵌套在文章中的模型“评级”。/articles/123/ratings我想更改ratings/_form.html.erb中f.submit的路由现在是这样,在按下提交后,我的应用程序路由到/评分/111但我想把它路由到/文章/123如何更改form_forf.submit按钮中的路由。我在这里找到了这样的东西:url_for(:action=>"update",:id=>@thing)do|f|%>但这不适用于我的Rails3.2。感谢您的帮助, 最佳答案 :url-提交表单的URL。它采用您传递给url

ruby-on-rails - 如何一次运行多个 Rails 单元测试

我经常运行各种测试组,例如:raketest:unitsraketest:functionals我也喜欢运行单独的测试文件或单独的测试:ruby-Itesttest/unit/file_test.rbruby-Itesttest/unit/file_test.rb-n'/somecontextImworkingon/'还有:raketestTEST=test/unit/file_test.rb我什至在我的Rakefile中创建了自定义分组:Rake::TestTask.new(:ps3)do|t|t.libs我还没有弄清楚的是如何在命令行运行多个临时测试。换句话说,如何将test_fi